package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.TransMall;

import java.util.*;
public class TransMallExample extends SgExample<TransMallExample.Criteria> {
    public static final Class<TransMall> beanClass = TransMall.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn unionId;
    public static EntityColumn money;
    public static EntityColumn changeId;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        unionId = listMap.get("unionId");
        money = listMap.get("money");
        changeId = listMap.get("changeId");
        }

    public TransMallExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected TransMallExample.Criteria createCriteriaInternal() {
        return new TransMallExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public TransMallExample.Criteria andUnionIdIsNull() {
            return isNull(unionId);
        }

        public TransMallExample.Criteria andUnionIdIsNotNull() {
            return isNotNull(unionId);
        }

        public TransMallExample.Criteria andUnionIdEqualTo(String value) {
            return equalTo(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdNotEqualTo(String value) {
            return notEqualTo(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdGreaterThan(String value) {
            return greaterThan(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdLessThan(String value) {
            return lessThan(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdLike(String value) {
            return like(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdNotLike(String value) {
            return notLike(unionId, value);
        }

        public TransMallExample.Criteria andUnionIdIn(List<String> values) {
            return in(unionId, values);
        }

        public TransMallExample.Criteria andUnionIdNotIn(List<String> values) {
            return notIn(unionId, values);
        }

        public TransMallExample.Criteria andUnionIdBetween(String value1, String value2) {
            return between(unionId, value1, value2);
        }

        public TransMallExample.Criteria andUnionIdNotBetween(String value1, String value2) {
            return notBetween(unionId, value1, value2);
        }
        public TransMallExample.Criteria andMoneyIsNull() {
            return isNull(money);
        }

        public TransMallExample.Criteria andMoneyIsNotNull() {
            return isNotNull(money);
        }

        public TransMallExample.Criteria andMoneyEqualTo(String value) {
            return equalTo(money, value);
        }

        public TransMallExample.Criteria andMoneyNotEqualTo(String value) {
            return notEqualTo(money, value);
        }

        public TransMallExample.Criteria andMoneyGreaterThan(String value) {
            return greaterThan(money, value);
        }

        public TransMallExample.Criteria andMoneyGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(money, value);
        }

        public TransMallExample.Criteria andMoneyLessThan(String value) {
            return lessThan(money, value);
        }

        public TransMallExample.Criteria andMoneyLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(money, value);
        }

        public TransMallExample.Criteria andMoneyLike(String value) {
            return like(money, value);
        }

        public TransMallExample.Criteria andMoneyNotLike(String value) {
            return notLike(money, value);
        }

        public TransMallExample.Criteria andMoneyIn(List<String> values) {
            return in(money, values);
        }

        public TransMallExample.Criteria andMoneyNotIn(List<String> values) {
            return notIn(money, values);
        }

        public TransMallExample.Criteria andMoneyBetween(String value1, String value2) {
            return between(money, value1, value2);
        }

        public TransMallExample.Criteria andMoneyNotBetween(String value1, String value2) {
            return notBetween(money, value1, value2);
        }
        public TransMallExample.Criteria andChangeIdIsNull() {
            return isNull(changeId);
        }

        public TransMallExample.Criteria andChangeIdIsNotNull() {
            return isNotNull(changeId);
        }

        public TransMallExample.Criteria andChangeIdEqualTo(Long value) {
            return equalTo(changeId, value);
        }

        public TransMallExample.Criteria andChangeIdNotEqualTo(Long value) {
            return notEqualTo(changeId, value);
        }

        public TransMallExample.Criteria andChangeIdGreaterThan(Long value) {
            return greaterThan(changeId, value);
        }

        public TransMallExample.Criteria andChangeIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(changeId, value);
        }

        public TransMallExample.Criteria andChangeIdLessThan(Long value) {
            return lessThan(changeId, value);
        }

        public TransMallExample.Criteria andChangeIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(changeId, value);
        }

        public TransMallExample.Criteria andChangeIdIn(List<Long> values) {
            return in(changeId, values);
        }

        public TransMallExample.Criteria andChangeIdNotIn(List<Long> values) {
            return notIn(changeId, values);
        }

        public TransMallExample.Criteria andChangeIdBetween(Long value1, Long value2) {
            return between(changeId, value1, value2);
        }

        public TransMallExample.Criteria andChangeIdNotBetween(Long value1, Long value2) {
            return notBetween(changeId, value1, value2);
        }
    }
}